#pragma once

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <stdbool.h>

typedef int StackDataType;

typedef struct Stack
{
	StackDataType* array;  //数组
	int top;               //栈顶
	int capacity;          //容量
}Stack;

void StackInit(Stack* ps);//(1) 初始化顺序栈
void StackDestroy(Stack* ps);
void StackPush(Stack* ps, StackDataType x);//(4)入栈
bool StackEmpty(Stack* ps);//(2) 判断栈空
void StackPop(Stack* ps);//(6) 出栈
StackDataType StackTop(Stack* ps);//(7) 取栈顶元素.
int StackSize(Stack* ps);

int stackfull(Stack* st);//(3) 判断栈满
void display(Stack* st);//(5) 遍历顺序栈

int decimal_to_octal(int n);///(十进制数转换为八进制数)